using System.Collections.Generic;
using StructureMap;

namespace SearchTools.Providers
{
    /// <summary>
    /// Interface for metadata providers, return an array of terms specified by a key
    /// </summary>
    [PluginFamily()]
    public interface IMetadataProvider
    {
        /// <summary>
        /// Return value for field for current item 
        /// </summary>
        /// <param name="field">Field specifier</param>
        /// <returns>Term list</returns>
        Dictionary<string, int> this[string field] { get; }

        /// <summary>
        /// Return value for field for item specified by key
        /// </summary>
        /// <param name="key"></param>
        /// <param name="field"></param>
        /// <returns>Term list</returns>
        Dictionary<string, int> this[string key, string field] { get; }
    }
}